﻿//using System;
//using System.Collections.Generic;
//using System.IO;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//using System.Windows;
//using System.Windows.Controls;
//using System.Windows.Data;
//using System.Windows.Documents;
//using System.Windows.Input;
//using System.Windows.Media;
//using System.Windows.Media.Imaging;
//using System.Windows.Shapes;
//using System.Windows.Forms;
//using static HuiZe.education.Resource.Controls.VideoPlay.Model;

//namespace HuiZe.education.Resource.Controls.VideoPlay
//{
//    /// <summary>
//    /// VideoPlayer.xaml 的交互逻辑
//    /// </summary>
 
//    public partial class VideoPlayer : Window
//    {
//        public VideoPlayer()
//        {
//            InitializeComponent();

//            panCurrentSche.Width = 0;
//        }
//        public double TimeQua = -1;
//        public Timer timPlaySche = new Timer();
//        public string sFilePath//只要对此参数赋值，即可以播放您的视频
//        {
//            get
//            {
//                return sfilepath;
//            }
//            set
//            {
//                try
//                {
//                    if (value == null)
//                    {
//                        return;
//                    }
//                    if (!File.Exists(value))
//                    {
//                        //MessageBox.Show("视频文件不存在！");
//                        return;
//                    }
//                    if (sfilepath != string.Empty)
//                    {
//                        vlc.Stop();
//                    }
//                    sfilepath = value;
//                    vlc = new VlcPlayer(value);
//                    vlc.PlayFile(value);
//                    //IntPtr render_wnd = picVideoPlayer.Handle;
//                    //vlc.SetRenderWindow((int)render_wnd);
//                    playState = PlayState.播放;
//                    lblCurrentPlayTime.Tag = 0;
//                    lblCurrentPlayTime.Content = clsPubic.GetStrDuration(0);
//                    //btnStart.SendToBack();
//                    dVideoLength = vlc.Duration();
//                    lblPlayTime.Tag = dVideoLength;
//                    lblPlayTime.Content = clsPubic.GetStrDuration(dVideoLength);
//                    int iSetVol = vlc.GetVolume();
//                    lblVolInfo.Content = "音量：" + iSetVol + "%";
//                    panCurVol.Width = Convert.ToInt32(iSetVol / 100.00 * panVolControl.Width);
//                    // panCurVol.Width = panVolControl.Width;
//                    panCurrentSche.Width = 0;

//                    //this.Enabled = true;
//                    timPlaySche.Enabled = true;
//                    if (bStop)
//                    {
//                        bStop = false;
//                        //btnPause.PerformClick();
//                        //btnStop.PerformClick();
//                    }
//                }
//                catch (Exception ee)
//                {
//                    //MessageBox.Show(ee.Message);
//                }


//            }
//        }
//        VlcPlayer vlc;
//        private string sfilepath = "";
//        public double dVideoLength = 0;
//        public double dPlayTime = 0;
//        public PlayState playState;
//        public bool bStop = false;
//        private void frmVideoShow_Load(object sender, EventArgs e)
//        {
//        }

//        private void panCurrentSche_Click(object sender, EventArgs e)
//        {
//            try
//            {
//                if (sfilepath == string.Empty)
//                {
//                    return;
//                }
//                Point panelPoint = panSche.PointToClient(Control.MousePosition);
//                if (panelPoint.X > panCurrentSche.Location.X && panelPoint.X <= panSche.Width - panCurrentSche.Location.X)
//                {
//                    panCurrentSche.Width = panelPoint.X - panCurrentSche.Location.X;
//                    dPlayTime = dVideoLength / (panSche.Width - panCurrentSche.Location.X * 2) * panCurrentSche.Width;
//                    vlc.SetPlayTime(dPlayTime);
//                    lblCurrentPlayTime.Tag = dPlayTime;
//                    lblCurrentPlayTime.Text = clsPubic.GetStrDuration(dPlayTime);
//                    if (dPlayTime == dVideoLength)
//                    {
//                        btnStop.PerformClick();
//                    }
//                    else
//                    {
//                        btnStart.PerformClick();
//                    }
//                }
//            }
//            catch (Exception ee)
//            {
//                MessageBox.Show(ee.Message);
//            }

//        }

//        private void btnStart_Click(object sender, EventArgs e)
//        {
//            try
//            {
//                if (sfilepath == string.Empty)
//                {
//                    return;
//                }
//                if (this.playState == PlayState.播放)
//                {
//                    return;
//                }
//                Button btn = (Button)sender;
//                btn.SendToBack();
//                vlc.Play();
//                playState = PlayState.播放;
//                timPlaySche.Enabled = true;
//            }
//            catch (Exception ee)
//            {
//                MessageBox.Show(ee.Message);
//            }

//        }

//        private void btnStop_Click(object sender, EventArgs e)
//        {
//            if (sfilepath == string.Empty)
//            {
//                return;
//            }
//            if (this.playState == PlayState.停止)
//            {
//                return;
//            }
//            try
//            {
//                vlc.Stop();
//                dPlayTime = vlc.GetPlayTime();

//                btnPause.SendToBack();
//                playState = PlayState.停止;
//                timPlaySche.Enabled = false;
//                lblVolInfo.Text = "音量：100%";
//                panCurVol.Width = panVolControl.Width;
//                lblCurrentPlayTime.Tag = 0;
//                lblCurrentPlayTime.Text = clsPubic.GetStrDuration(0);
//                panCurrentSche.Width = 0;
//            }
//            catch (Exception ee)
//            {
//                MessageBox.Show(ee.Message);
//            }

//        }

//        private void btnRev_Click(object sender, EventArgs e)
//        {
//            if (sfilepath == string.Empty)
//            {
//                return;
//            }
//            try
//            {
//                vlc.Pause();
//                int time = (int)vlc.GetPlayTime() - 5;
//                if (time > 0)
//                {
//                    vlc.SetPlayTime(time);
//                }
//                else
//                {
//                    vlc.SetPlayTime(0);
//                }
//                vlc.Play();
//                dPlayTime = vlc.GetPlayTime();
//                panCurrentSche.Width = Convert.ToInt32(dPlayTime / (dVideoLength / (panSche.Width - panCurrentSche.Location.X * 2)));
//                lblCurrentPlayTime.Tag = dPlayTime;
//                lblCurrentPlayTime.Text = clsPubic.GetStrDuration(dPlayTime);
//            }
//            catch (Exception ee)
//            {
//                MessageBox.Show(ee.Message);
//            }

//        }

//        private void btnSpeed_Click(object sender, EventArgs e)
//        {
//            if (sfilepath == string.Empty)
//            {
//                return;
//            }
//            try
//            {

//                vlc.Pause();
//                int time = (int)vlc.GetPlayTime() + 5;
//                if (time < dVideoLength)
//                {
//                    vlc.SetPlayTime(time);
//                }
//                else
//                {
//                    vlc.SetPlayTime(dVideoLength);
//                }
//                vlc.Play();
//                dPlayTime = vlc.GetPlayTime();
//                panCurrentSche.Width = Convert.ToInt32(dPlayTime / (dVideoLength / (panSche.Width - panCurrentSche.Location.X * 2)));
//                lblCurrentPlayTime.Tag = dPlayTime;
//                lblCurrentPlayTime.Text = clsPubic.GetStrDuration(dPlayTime);
//                if (dPlayTime == dVideoLength)
//                {
//                    btnStop.PerformClick();
//                }
//            }
//            catch (Exception ee)
//            {
//                MessageBox.Show(ee.Message);
//            }

//        }

//        private void panVolControl_Click(object sender, EventArgs e)
//        {
//            if (sfilepath == string.Empty)
//            {
//                return;
//            }
//            try
//            {
//                Point panelPoint = panVolControl.PointToClient(Control.MousePosition);
//                panCurVol.Width = panelPoint.X;
//                int iSetVol = Convert.ToInt32(double.Parse(panelPoint.X.ToString())
//                    / double.Parse(panVolControl.Width.ToString()) * 100);

//                vlc.SetVolume(iSetVol);
//                int iVol = vlc.GetVolume();
//                if (iVol < 0)
//                {
//                    iVol = 0;
//                }
//                lblVolInfo.Text = "音量：" + iVol + "%";
//            }
//            catch (Exception ee)
//            {

//                MessageBox.Show(ee.Message);
//            }

//            //vlc.GetPlayTime();
//        }

//        private void panSche_MouseEnter(object sender, EventArgs e)
//        {
//            this.Cursor = Cursors.Hand;
//        }

//        private void panSche_MouseLeave(object sender, EventArgs e)
//        {
//            this.Cursor = Cursors.Default;
//        }


//        private void timLoading_Tick(object sender, EventArgs e)
//        {
//        }

//        private void timPlaySche_Tick(object sender, EventArgs e)
//        {
//            try
//            {
//                if (dVideoLength == 0)
//                {
//                    dVideoLength = 1;
//                }
//                dPlayTime = vlc.GetPlayTime();
//                panCurrentSche.Width = Convert.ToInt32(dPlayTime / (dVideoLength / (panSche.Width - panCurrentSche.Location.X * 2)));
//                lblCurrentPlayTime.Tag = dPlayTime;
//                lblCurrentPlayTime.Text = clsPubic.GetStrDuration(dPlayTime);
//                if (dPlayTime == dVideoLength)
//                {
//                    btnStop.PerformClick();
//                }
//            }
//            catch (Exception ee)
//            {
//                MessageBox.Show(ee.Message);
//            }

//        }

//        private void btnContinue_Click(object sender, EventArgs e)
//        {
//            if (this.playState == PlayState.暂停)
//            {
//                return;
//            }
//            Button btn = (Button)sender;
//            btn.SendToBack();
//            vlc.Pause();
//            playState = PlayState.暂停;
//        }
//        private void frmVideoShow_FormClosed(object sender, FormClosedEventArgs e)
//        {
//            try
//            {
//                dPlayTime = vlc.GetPlayTime();
//                if (dPlayTime > 0)
//                {
//                    vlc.Stop();
//                }
//            }
//            catch (Exception ee)
//            {

//                MessageBox.Show(ee.Message);
//            }


//        }

//        private void frmVideoShow_FormClosing(object sender, FormClosingEventArgs e)
//        {
//            this.Dispose();
//        }




//    }
//}
